This generally relates to transport systems and methods and, for example, the handling of messages such as email.
Frequently, transport systems such as email systems employ two transport components, a message store and a message transport agent (MTA) which constitute a log-shipping based mechanism. There is a window in such log-shipping based mechanisms during which mail in the last log file not shipped is not immediately available at the backup node. Additionally, logs can only be replayed before transactions are applied to the database. As a result, recovery of the log file after the secondary is re-started does not allow the transactions to be re-applied. Messages that may be lost because the delayed log file will include messages received from other users. Such lost messages do pass through the mail transport agent and are important to save.
Messaging system, like database and other storage systems, must exhibit ACID properties (atomic, consistent, isolated, durable). To achieve this, messaging systems employ ‘change logs’ in much the same way database systems do—record the change in the log, harden the log to persistent media, change the actual data, and continue. There is no need to harden the actual data change the ‘change log’ has been hardened and during restart from any error the change log will be used to make the data current.